/**
 * 
 */
package testy.karo;

import static org.junit.Assert.*;

import javax.swing.JOptionPane;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import baduga.client.Controler;
import baduga.karo.TableListScreen;

/**
 * @author Janek
 *
 */
public class Test__TableListScreen extends TableListScreen {

	TableListScreen obj, obj2;
	Controler contr;
	
	
	/**
	 * @throws java.lang.Exception
	 */
	@Before
	public void setUp() throws Exception {
		contr = new Controler();
	}

	/**
	 * @throws java.lang.Exception
	 */
	@After
	public void tearDown() throws Exception {
		contr = null;
	}

	/**
	 * 
	 * Inicjalizacja
	 * 
	 * Test method for {@link baduga.karo.TableListScreen#TableListScreen()}.
	 */
	@Test
	public final void testTableListScreen() {
		

		
		JOptionPane.showMessageDialog(null,
			    "Proszę w następnym komunikacie potwierdzić, czy wyświetliły się okna z  pustą listą stołów",
			    "Komunikat",
			    JOptionPane.ERROR_MESSAGE);
		
		

		        	
		        	obj  = new TableListScreen();
		        	
		        	obj.setVisible(true);
		        	
		        	obj2  = new TableListScreen();
		        	obj2.setVisible(true);

		
		    		synchronized (this) {
		    			try {
		    				wait(1500);
		    			} catch (InterruptedException e) {
		    				System.out.println("Błąd: " + e.getLocalizedMessage());
		    				
		    				fail("Wątek przerwany.");
		    			}
		    		}
		    		
		    		obj.dispose();
		
		    		obj2.dispose();
		

		
		final int result = JOptionPane.showConfirmDialog(
			null,
			"Proszę potwierdzić uruchomienie się okna z pustą listą stołów",
			"Komunikat",
			JOptionPane.YES_NO_OPTION);
		
		
		assertEquals("Sprawdzenie czy okno z lista się uruchamia: ", 0, result);
		
		

		
		
	}



	/**
	 * Test method for {@link baduga.karo.TableListScreen#getControler()}.
	 */
	@Test
	public final void testGetControler() {

	        	
	    obj  = new TableListScreen(contr);
	    
	    


		
		obj.dispose();
		
		
		assertNotEquals("Sprawdzenie czy zwróci pusty kontroler ", obj.getControler(), null);
	}

	/**
	 * Test method for {@link baduga.karo.TableListScreen#setTableData(java.lang.Object[])}.
	 */
	@Test
	public final void testSetTableData() {
	    obj  = new TableListScreen(contr);

	    
	    
	    obj.setTableData(new Object[] {
	    	"Test", "5000", "0/10 | 0/20", "2.0", "", "ude-eede-e"
	    });
	    
	    
	    obj.setVisible(true);
	    
		synchronized (this) {
			try {
				wait(1500);
			} catch (InterruptedException e) {
				System.out.println("Błąd: " + e.getLocalizedMessage());
				
				fail("Wątek przerwany.");
			}
		}
		
		obj.dispose();
		
		
		final int result = JOptionPane.showConfirmDialog(
				null,
				"Proszę potwierdzić uruchomienie się okna zawierającym jeden stół",
				"Komunikat",
				JOptionPane.YES_NO_OPTION);
			
			
			assertEquals("Sprawdzenie czy okno ma stół: ", 0, result);
	}

}
